Get BIN Primer/Sealer Stain-Killer (White Pigmented Shellac) or KILZ. They are used for covering odors like smoke damage and urine odors.
I am speaking from experience. A few years ago we bought a fixer-upper. Pet urine had gone through the carpet and soaked into the hardwood floor. The first thing we did was tear out the carpets clean the floors the best we could, then put down BIN Primer/Sealer.
We worked on that house for over 8 months and the smell never came back.