I see what you meant by using the theme hook now.  Instead of trying to alter the rendered html it may be easer to hook into the existing os_news_process_node https://github.com/openscholar/openscholar/blob/SCHOLAR-3.x/openscholar/modules/os_features/os_news/os_news.module#L87

That calls render on the the image, which is passed (eventually) into adaptivetheme_field__image (I think), it looks like (I just saw this) that that render function already has support for captions, but it looks like it is not triggered.