OP, I'll answer the question you asked first. I think that right or wrong, you should apologize. Because there are a lot of parents for whom that "watch out" would be directed to the other shopper. So a quick apology would go a long way in settling that question for the other person, and making you seem more polite.
On to the questions you didn't ask. I absolutely think that if you can control him to the point where he is never running into people, then what you are doing is okay. If not, then I think you need to find another solution. Because there are people who can't tolerate being run into even a little bit.
You might see if there is a local grocery store that has those mini-carts for children. Or a race-car cart that he might be willing to ride in.
You might also tell him that because he screams while holding your hand, you will need to practice at home or in the park. And when he learns not to scream, you won't have to practice and will be able to do something fun. Frankly, being able to hold a toddler's hand without them screaming seems to valuable a tool to not practice it.