The question "What's my problem?" cannot accurately be answered, since there are at least 5 problems.
1) The problem you're worried about, op amp conditions, has been addressed by Spehro. You are using an inappropriate op amp. Either change the op amp or provide a -12 volt negative supply.
2) An op amp problem not addressed by Spehro is that a 741 is not rated to produce 20 mA of current. It may work in your circuit, or it may not. One sample may work while another may not. The LM358 is better, but its maximum current rating is 20 mA only at 25 C. Over full temperature range it is only rated for 10 mA. As with the 741, it may work or it may not.
3) Although you have produced a current loop transmitter, it is not a 4-20 mA device. As configured, 5 volts on the input will produce 20 mA through your 100 ohm load resistor. 0 volts in will produce 0 mA out.
4) Another consideration is frequency response. Neither a 741 nor an LM358 will work at 125 kHz.
5) Related to 4), sending raw PWM over a 4-20 mA link is just silly. Assuming that you have a uC producing PWM at 0-5 volts, and you want to transmit that to a remotely located driver, you should use a (preferably differential) logic driver. A current loop is the worst possible choice. Current drivers, by their nature, are very high impedance: a perfect current source has infinite impedance. As a result, any capacitance on the line will produce a severe low-pass filter at the receiver, and your PWM signal will be grossly degraded. If you are using a current loop because you have heard that it rejects noise, you should drive a logic-level signal over shielded twisted pair with a controlled receiver impedance to match the link impedance, and optically isolate the receiver.