EEVEE ignores light-emission outside of the camera frame
Eevee is not a physically accurate render engine and employs a number of 'shortcuts' in order to get realistic results with minimal render time. One of these shortcuts is Screen Space Reflections (and Refractions). 

As implied by the name, Screen Space interactions are dependent on what is visible on the "screen" (effectively the camera) so anything outside the visible field of view will not be considered. This is a method typically employed in game render engines and is usually 'good enough' but does have its limitations. By not considering anything in the scene which is not directly visible the rendered can significantly reduce the workload but in your case it produces such unrealistic results. For Viewport renders the same is true but the viewport can "see" parts of the scene outside the frame of the camera so the effect seems less pronounced (but if you adjust the view towards the edge of the visible space you should see the same effect).

If you want to continue using Eevee (rather than swap to Cycles) you have two options.


Render each frame larger than required and then trim off the excess in the Compositor. Resizing the camera to include a border without affecting the rest of the frame can be easily achieved by adjusting the Sensor Size of the camera (in the Camera properties) and the compositor can be used to trim back down the the required size.
Use Light Probes. Light Probes are effectively meshes that act as a boundary between your objects and capture details of the light crossing that boundary. The Light Probe includes settings as to the area of effect to consider for reflections/refractions. The light is captured by 'Baking' the light map - options for which are on the render settings under the heading 'Indirect Lighting'. Once the lightmap is baked it will be used for reflections regardless of whether the source is inside or outside the rendered 'screen space'.