It would make sense that a leak code for the vapor system would be a device that can allow pressure to be relieved in the system. The three devices that can do that are the two solenoids and the gas cap. Usually when the canister fails, the tubing either plugs up with loose charcoal bits or a solenoid valve hangs open due to the particles building up inside the valve, preventing it from opening or closing completely.
Changing solenoids without doing the canister can sometimes result in not fixing the problem, since it is the loose charcoal from the canister that are messing with the solenoid operated vent or purge valve. That said, gas cap sealing problems are not uncommon. A rag with some Techron or other cleaner wiped around the inside of the gas filler can be a good starting point.
When changing the solenoids it is a good idea to blow out the tubing with low pressure air before connecting up the new solenoids.