Is it possible to reload an image directly in the 3d view?
An ugly method (but possibly enough for your needs)
If you just have a few images and they aren't giant. You can reload all images, (The update becomes visible after moving 3dview around a little)

import bpy

bl_info = {
    "name": "Refresh Images",
    "version": (0, 1),
    "blender": (2, 76, 0),
    "description": "Refresh images",
    "category": "3D View"
}


class SimpleImageUpdater(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "view3d.refresh_images"
    bl_label = "Image Refresher"

    def execute(self, context):
        for img in bpy.data.images:
            img.reload()
        return {'FINISHED'}


def register():
    bpy.utils.register_class(SimpleImageUpdater)


def unregister():
    bpy.utils.unregister_class(SimpleImageUpdater)


if __name__ == "__main__":
    register()


Auto updating version of the execute function

def execute(self, context):
    for img in bpy.data.images:
        img.reload()
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
    return {'FINISHED'}


it should look like this: https://gist.github.com/zeffii/6189c3be154ad67f1592