NIntegrate can only handle integrals that would result in a number. So NIntegrate[0.4 a b, {b, 0, 1}] can't be done (but Integrate[0.4 a b, {b, 0, 1}] can be done). So I'm not sure if Integrate always calls NIntegrate when there are approximate values...