I have just fixed that problem on my custom truck bed. No matter how slowly I filled it with with fuel, it would spit back out the fueling nozzle all over the side of the bed. I finally crawled under and found that the vent hose was hanging down a couple of inches below the top of the tank.
Thus, when the tank is full, and the truck moves, some of the fuel sloshes into the vent line, which being lower than the top becomes filled with fuel, just for that portion below the top of the tank. This "plug" of fuel is too much for air to overcome, and thus it doesn't function as a vent.
I shortened the line some, put it on top of the fuel tank...and can fill the tank with the nozzle flowing as much fuel as possible.
So...check the location of the vent line and make sure all of it is above the tank.