It's your iron and it had something on it that ruined his shirt, why would you not pay him for the damage? You are the host and responsible for any damage that occurs due to your negligence. Just because someone previously left it there, it doesn't become his problem.
This is a cost of doing business in the hospitality space. A failure to pay him for the shirt will probably end up in a bad review that will cost you more in the long run. Also, doing the right thing may create a repeat guest.