You clean the source of the smell. It may be dirty carpeting that needs steam cleaned; the house is full of stale air, so open all the windows and doors; lots of animal and human dander, and dust, so improve the air filtration; or, there's dampness, so get a dehumidifier and try to fix the source of damp.
It depends on whats causing the odor. Obviously you tried airing it out but if its in the carpets or if your house seems damp you might have to have a professional carpet and furniture cleaning. I would make certain its not mold as that can be quite dangerous over a period of time. Until you know whats causing it you will just be wasting money on sprays that only mask odors. Good luck!
Odor coming from moisture, mold, dead animals, and even dirt from the body of men will smell if not cleaned long. The easiest way is to improve the air circulation in the house, providing adequate lighting sources, especially the sun, use a disinfectant, absorbing moisture and is best to use a commercial cleaning services. For me in Melbourne I use this http://www.cleaningmaster.com.au
You actually need to get your vents cleaned. Call one of those companies with a coupon to have them vacuum out your vents. Use a coupon, did I already say that? You can get them from the ads in your mailbox. But DO NOT buy whatever they try to sell while cleaning your vents. You don't need a super vent filter. You just need clean vents.
I did it for the first time about 3 years ago, and it was a miraculous change for the air in the house and the heat and air started working better, too. I need to do it again now because I can tell the dog smells are back in the vents. If you have other problems, address those, but I've been in several sites looking at the answer to this question and no one says the obvious. Clean out the circulation ducts.
The people will hook up a hose to one vent and suck all the dust and crap out of all the vents in the system.