The (free) BorderFX plug-in does a pretty good job of adding text annotation to images. You can add captions, keywords, and all kinds of metadata tags that have been added to your images. The annotations can go onto the border or directly onto the image.
You can download it here: BorderFX - BorderFX
P.S: You are not bound by the predefined slide size in Keynote. If yu prefer the Keynote style, define a custom slide size, like this:
Thanks for both the responses Leonie, I have tried using Keynote/PPT in the past, however the image published from both of them appear hazy/blurry when put on the net. I think this is because of the file size, but then, I couldnt find any option in these two tools to be able to publish a high quality (large file size) image. One of my requirements is to have images with text which I put on FB, however all images published from KN/PPT are of poor quality for FB too. Am I missing out on anything in KN to be able to publish a high quality image after adding text to it.