We'll use Subsync for this job. Download it from here and get the software installed.
Start Subsync. The following window appears.

*Open the video file by clicking Browse for the media file. Then browse for the corresponding subtitle file(which is out of sync) by clicking Browse for the subtitle file.
*Click Edit subtitles. The Subtitle editor appears. All the dialogues and timings are available here.
*Click the first line(in the list) and press CTRL+F5. The first line becomes BLUE
*Similar to the above, click the last line and press CTRL+F6. The last line becomes GREEN
*Now remember where the Blue, Green and Adjust buttons are located.

*Click the play button(the little triangle) to start the playback. Now, as soon as the first spoken word(where your subtitle should start) starts you click Blue button.
Tip: Use rewind button to get the exact frame.
*Locate the last location where the subs should appear. Press Green button as soon as the line have appeared.
*Now click the Adjust button. Subs will be synchronized.
*Verify it by playing a bit. If the subs appear in the right moment then save the subtitle file by clicking Save subtitles
Done...