The runtimes of the video and audio elementary streams within the MOV container differ significantly.
You can view the duration of the elementary streams within Quicktime by opening the Movie Properties window.
Open the file in a non-linear video editor and verify that the contents are in sync and there is no missing content. Set an in and out point on your timeline and export the selection. Doing so should flatten both elements and create a new file where both the video and audio are the same duration. Verify this within QuickTime.
If this hasn't worked, you may need to set your outpoint to the timecode of the shortest stream, alternately you can attempt to pad the end with a small amount of black/silence, taking care not to exceed the 2 second limit for segments of black/silence.