Even though the cannister is in the engine compartment, you still shouldn't smell vapors, unless one of 2 things happen. First is a leak, second is a saturated cannister.
To eliminate possible leak areas, check or replace the connections between hard lines and components. Those are usually made with hoses, which crack over time.
Charcoal cannisters have a finite life, which has a lot of variables. However, once the charcoal is saturated, it can no longer absorb vapors and they simply pass thru untreated. The other thing that causes cannisters to fail is overfilling your tank. If you fill enough fuel into the filler neck, engine vacuum can draw raw fuel into the cannister, saturating the charcoal.