I am in a position where I have to hire a programmer and have the option of 2 candidates, the first has experience but he doesn't have a passion for coding and he says so while the second doesn't have the experience but he has the passion, he did well in the interview and is certified.

We have the resources to train someone, but I really don't want to blow this process and hire someone who will be disappointing. Can anyone help me as to how to approach this situation?

Hire the inexperienced programmer with a passion for the craft. A passionate programmer will learn quickly, care about his work and enjoy doing it. I've worked with both types of programmers and I would always hire the passionate type over the experienced. 

People who don't care about their work eventually lead to problems in quality as well as in meeting deadlines. 

Since you explicitly state that you have the resources to train someone, this is a no brainer. Hire the passionate programmer.
