First thing to check is whether the EVAP vent solenoid is stuck shut or obstructed. It'* a black box a little bigger than a pack of cigarettes located under the vehicle near the gas tank, plumbed to the charcoal canister. #2 in this picture:
Pull the line off of the solenoid and try to fill your tank. If it works, the solenoid is stuck shut. If not, the canister is clogged or a line is obstructed somewhere. Start working your way backward to the tank.