I just had this. Replaced the cap didn't solve it. So I took off the hoses for the Solenoid under the hood for the gas pressure (forgot what it's called) if no leaks replace it. I bought this one
https://www.amazon.com/dp/ (commissions earned)
I haven't had it come back on in a couple of months. Cheap but fixed my problem. Better than paying $90 for oem.
i also had that same problem. replaced that dumb solenoid and code went away.