No, you don't. You only need access to a time server to set the camera time. You can run a local time server on a computer if you don't want your cameras to have access to an Internet time server.Problem with that is that it would probably also need internet access to calculate or retrieve the correct times every day.
The formula for calculating sunrise and sunset from latitude and longitude is surprisingly simple, which I learned when I programmed it into my Camscript software. You need some basic math and trigonometry, and the local time. The result is accurate to within one minute.