Personally, I think a gradient filled logo is a bad idea.
As the image is a jpeg, the file is a in single layer. So, you'll need to mask out the background, then apply the gradient as an adjustment layer. The difficulty of that method will depend on the design and composition of the logo. The mask may be able to be created with a couple clicks of the magic wand, or you may have to spend a couple of hours with the lasso or path tools.
If you can find the original file for the logo (from the designer), you may find it's actually in layers, which will make you job immensely easier.
Chuck
If you have to do it, Illustrator is the best app to use.
a gradient filled logo is a bad idea.
Absolutely! Bearing in mind that logos tend to be used in all sizes and printed with all sorts of processes, a gradient will only cause grief.
As a rule, gradients are avoided, but not always. The UPS color logo is a good example of a gradient, or shaded blend, being used successfully. However, on the UPS forms, they use an outline version.
I have no idea what the OP is planning to do with the company's logo. Adding a gradient isn't necessarily always wrong, but it has to be carefully considered. I also wonder if this alteration of the logo is a permanent change, since it's normally considered bad form to tweak a logo if you don't intend to use the new look on everything.