Better yet, if we're talking about a holding tank vent thru-hull, forget about a cap for it. Replace the "vent" thru-hull with an open bulkhead (aka "mushroom") fitting. "Vent" thru-hulls are designed to keep sea water out of fuel and water tanks. They're totally unsuitable for use on holding tank vents because they don't let the tank "breathe" which is necessary to prevent odor from being created...but boat builders use 'em on holding tanks too 'cuz it costs them a little less than buying a different one for holding tanks. An open bulkhead fitting has another advantage: it allows you to put a hose nozzle against it to back flush the vent regularly to prevent vent blockages. Anything that tries to set up housekeeping in the vent line will get a water slide ride into the tank.
--Peggie