I designed a constant speed PWM motor driver using an op-amp and mosfet. Will it work? Can you point out some problems?
Bad idea  to use opamp to drive a gate. Much better to find a gate driver. Otherwise your system may overheat, suffer noises on input, etc. You will reduce the frequency to deduce heat, and the motor will stop working or will burn.. 

Also if you wand analov driver, you should better start with BJT instead MOSFET. Then indeed opamp may work (not sure about the specific opamp). Actually with MOSFET it works sometimes too, but for you will be easier to work with BJT, it's much more linear. 

For analog driver you will need much more advanced control loop. But frankly i a little skeptical about describing it here. Google analog servo drive. 

And last, but not least : for a brushed motor to keep the speed constant (or almost constant) just control it's voltage. Use some kind of variable voltage converter with current limit, and that's it.