Sounds like a misdiagnosis to me.
A computer trouble code does NOT tell you exactly which component is defective---this misconception leads to who knows how many hundreds of thousands of perfectly good parts being replaced.
The codes tell you the SYSTEM or CIRCUIT in distress---from there, one diagnosis each likely component.
If you are getting EVAP codes AND a misfire, chances are pretty good you have a large vacuum leak somewhere causing the fuel/air mixture in one or more cylinders to get screwed up.
If it's a MISFIRE code that is being read, and someone is interpreting that as an EVAP problem, that's not a very good diagnosis either.