There is a function in Arduino analogWrite() which can generate PWM waves. Any analog pin can be converted to PWM output pin. But this is software controlled. So your code will be spending its major time in making the PWM signals rather than doing other useful works.
There is also a PWM sheild from Sparkfun. Try making this one yourself(circuit is available) or buy one board - https://www.sparkfun.com/products/10615
Don't use a PWM for controlling stepper motors. This is a complex method. Also if you use PWM to control stepper motors, you also require additionally a H-bridge/Driver IC(Arduino cannot drive motors directly since Arduino can only provide very less current which is not enough for motors to work).
Use stepper motor drivers for controlling stepper motors. You don't need PWM outputs to drive these stepper drivers. Only GPIO pins are required. Also these stepper motor drivers also include the H-Bridge/Driver IC. Check this link which explains how stepper motors are controlled using stepper drivers and their connection diagram.