I've got my mechanic working on this exact issue now in my 05 Yukon. I've replaced the fuel pump, evap, charcoal canister, and tank. My mechanic bought the charcoal canister at GM - $240. I bought the fuel pump and evap from a NAPA where I get a discount - $270. The gas tank came from a local scrap yard - $90. I've paid my mechanic $350 in labor so far, and it'll probably be a couple hundred more by the time I pick it up today, if it's finally fixed. I'll probably spend around $1100. I could have gotten that charcoal canister for a lot cheaper after market, but I'm in a hurry. I'm not mechanically savvy, but I am capable, and with the help of this thread and some proper tools I could have done this myself. It's just a time issue.
Sorry for the old bump, but this problem has reared it's ugly head in my 2005 Yukon again.
I had the knock sensors replaced and the mechanic told me it threw the P0442 code immediately after.
Had a smoke test done. They found nothing. I've replaced the gas cap with a GM gas cap. It's been a few days, check engine light is still on and you can smell gas outside the vehicle.
So to recap, I've got:
-salvage gas tank(2020 replace)
-GM charcoal canister(2020)
-fuel pump and evap from NAPA(2020)
-gas cap(2023)
What should I look at next if the smoke test didn't reveal anything?
EDIT: to clarify, I have no problem filling the gas tank this time. No apparent problems at all. I've just got a check engine light on and you can smell gas on the outside any time I crank it. It's a 4.8, I'm still getting 17+ mpg on the interstate.