A p0456 is for a small evap system leak. That wouldn’t be enough to create a major gasoline odor. If it was the gas cap leak causing the odor you wouldn’t notice it anyway when sitting inside the car, unless you were in an enclosed garage or something. There are other problems that can smell sort of like gasoline. For example a oil, power steering, or transmission fluid leak onto a hot exhaust manifold creates a pretty noticeable petroleum odor. That’s something you could notice from inside the car. It’s possible the small evap leak code is a clue to what’s causing the noticeable odor, and sicne that’s the only clue you have , might as well use it. Suggest to get that small evap problem fixed, and while doing that job the shop may notice what’s causing the major odor problem. If I had a car I couldn’t sit in for 15 minutes without my throat hurting, I definitely wouldn’t continue to drive it.