@Tom, GWO
The problem is pseudo-polynomial. Using the dynamic programming solution, the time to make $N of change is polynomial in terms of N, but NP-completeness deals with the input length. Each time you add one digit to N, the problem gets 10 times harder to solve, which is where the exponential comes from.