Remove and clean (or replace) the evap vent valve. It is located underneath the bed right in front of the spare tire. It is mounted to the charcoal canister. One bolt holds it in place. You also need to disconnect one line and one electrical plug. The valve is stuck closed right now.
I'm sorry for the late response but I have been on the road for several weeks.
The evap vent valve is on the output of the charcoal canister. Normally air flows through the canister and the valve on fill up. The purpose of the valve is to alllow checking of the integrity of the entire fuel tank and feed system. The valve is closed on command and a pressure (or vacuum) check is performed by the engine computer. If the valve then sticks closed you will have problems when filling up the tank. Take it out and clean it.
:D The problem has been corrected, I crawled under the truck and did a rapa tap tap on the unit for a minute, because I didn't feel like getting into a teardown of the valve. I used a wooden handle from a hammer.
It's been 2 ? months now and no problem.. Thanks for the response everybody.