Having a stable open loop plant G doesn't necessarily guarantee a stable closed-loop system. For a unity negative-feedback loop, the stability of a closed-loop system can be determined by the characteristic polynomial of (1 + G). If G = numG/denG, then the characteristic polynomial is denG + numG.
Example #1: Stable plant, unstable closed-loop system
Gp = (s − 2)/(s^2 + 2*s + 1)
pole(Gp) = {−1, −1}
Gcl = feedback(Gp, 1) = (s − 2)/(s^2 + 3 s − 1)
pole(Gcl) = {−3.30278, 0.30278}
Example #2: Stable plant, stable closed-loop system
Gp = (s − 2)/(s^2 + 1*s + 3)
pole(Gp) = {−0.5000 ± 1.6583i}
Gcl = feedback(Gp, 1) = (s − 2)/(s^2 + 2*s + 1)
pole(Gcl) = {−1, −1}
To handle NMP systems, one alternative is to use Prof. Masayoshi Tomizuka's Zero-Phase Error Tracking Control (ZPETC).
@Mohit Gupta a belated reply. If an appropriate all pass filter is cascaded with your NMP Transfer Function it can be converted into a MP TF. It may solve your problem.