Guys Guys guys!! I can't beleive the replies I am seeing here. And this group of people likes to take care of there cars?
If you have a odor problem, the first step is to remove the SOURCE. This may be nicotine in the case of cigarettes, sugar in the case of pop, sugar/protein(milk) in the case of coffee etc... For a proper removal a steam cleaning is the best method. Applying a good degreaser/ odor counteractant first,followed by some moderate agitation, will allow a chance for the active cleaning agents to work. Then extraction with steaming hot water allows you to rinse the fabric thoroughly, removing the odor source while removing the soiling as well,leaving the fabric with no dirt attracting cleaning residues. This soiling often consists of body oils which in turn attract and hold more dirt and odor.
After this cleaning process, wipe down the vinyl surfaces with a good citrus degreaser and a weak ammonia solution. If possible remove dash vent deflectors and try to get into the vent lines as deep as possible. Afterwards spray with a armor all type protector/sealer.
IF odor still is present then the car can be ozoned. Ozone is a strong odor remover and works by oxidizing the offending odor molecules. With this systematic process dead animals/human odors can be removed so more common malodors are definately achievable. A 1-3 day treatment depending on severity will solve all odor problems.
Applying an odor mask like febreeze may make it smell a touch better but the underlying cause is still there and will continue to reappear till bacterially digested.
HTH
Tony