Tang;
Yes, please show your sketch. The only thing I can think of that could cause such a large error in you millis() function over time is if you are somehow directly or indirectly causing interrupts to be disabled for long periods of time. As millis() utilizes a timer interrupt, it's important not to disable interrupts any longer then necessary.
Lefty