With what sounds like a common practice for you, running the car while filling the tank; I would recommend replacing the canister at a minimum. Also, I would pull the evap line from the fill to the canister and check it for a blockage. If there is no blockage and you've replaced the canister, then the purge valve should be okay.
The canister will clear it'* self, but will take time. Because the vent is plugged with raw gas the air that is being displaced by the fuel can not get out, so it'* only way out is threw the fill tube.