I would definately hold the travel agent accountable to fix the mistake. Regardless of what the airlines may say, who's to say that TSA will let you board with the name descrepancy?
Have the Travel Agent cancel the ticket at no cost to you and if they don't do a charge back to you CC company and explain them the situation.
Remember airlines and TSA are two seperate entities.