Really weird issue - check engine, sputtering and gas cap

OK here is a quiz for you 4runner geniuses. I need your help to save my baby-2000 4runner SR5.

This problem has been going on for a while, it comes and goes. The truck will start stalling out, sputtering along, then pick right back up. It is like the engine is being choked for gas. It never totally fails, I just lose all engine power for a second or two, then it picks back up. Then, the check engine light will turn on.

I thought the light might be for a gas cap, so I checked that first. Unscrewed the gap and hear a very noticeable “whoosh” air noise, like air getting sucked into the gas tank. After I adjusted the gas cap, the truck starts working as normal, runs great. For a couple weeks or so. Then the same problem. And the same fix has always worked as well - the gas cap trick, thus far, has worked every time (about five times).

I took it to a mechanic and they said the codes are for the throttle and I need a new throttle body for $1500 freakin dollars. I don’t doubt the throttle could probably use replacin, but I don’t think that’s is what is causing this issue. If the throttle was the problem, it doesn’t seem like it would be a problem that comes and goes. And why does the gas cap fix work?

Things I have replaced in the few years - fuel filter about a year ago, air filter recently, evap, O2, cat, timing belt, water pump, gas cap (about a month ago). Needless to say, I got a lot of $ into it. Think it could be fuel pump?

Really weird, me and my friends are stumped. I will probably try another mechanic and see what they say.

Sounds like fuel starvation due to a faulty (clogged, kinked) evaporative emission hose or component. Gas caps don’t vent to allow air in to replace the fuel pumped out.

Reading out the diagnostic trouble codes and, depending on what they are, doing a fuel pressure test is probably the place to start.

Yup.
If the charcoal bed gets saturated, which in some systems can happen from “topping off” the gas tank, or the vent line otherwise becomes inoperative, the tank cannot breath in as the gas is drawn out by the pump. A vacuum develops in the airspace. The pump has to struggle against the vacuum, and this can make maintaining fuel pressure difficult, starving the engine. It can also cause premature pump failure.

The reason removing the gas cap worked is because it temporarily relieved the vacuum. Once some gas was pumped out and the vacuum developed again, the problem began again.

Or you could simply have a dying fuel pump.

If leaving the cap loose helps. If so, check to make sure your vapor lines are not pinched or blocked. Some times spiders or other bugs will block the vapor line. Check the canister and see if it is full of fuel. Ca nister valve could be failed. I would check fuel pressure.

A weak fuel pump is unlikely to draw such a vacuum in the tank.

I think @knfenimore has a good idea. If leaving the cap loose eliminates the trouble you need to see why the tank isn’t venting through the canister. There should be a solenoid that opens on occassion to allow the tank to vent to the air. Your system isn’t working and so the vacuum forms inside the tank when the fuel level drops down.