Store which Image is being used
Use your StringProperty to save the image.name, 
then load it by accessing the image through bpy.data.images:

imageNameStringProp = bpy.context.object.active_material.node_tree.nodes['Image Texture'].image.name

someOtherObject.active_material.node_tree.nodes['Image Texture'].image = bpy.data.images[ imageNameStringProp ]