Usually this is caused by a lack of communication between the box and the head end. This can usually be solved by unplugging the power from the box for a full minute and plugging it back in. If that doesn't work call comcast it also can be cause by not having the on demand codes added to your account.
I had the error 14 no on demand as well. After surfing the message boards one of the things that I kept seeing was bad signal due to coax cable or splitter. I discovered that I was indeed using a splitter, one cable going to box one going to television. I disconnected the splitter and ran one cable directly to box. Problem fixed., on demand came right up no problem. I threw the splitter in the trash
We recently had a recurring problem with our internet dropping out and then recycling itself back in over and over again. The technician came out and ran his tests. He said the only thing that showed up was that one of our TV's had a loose connection which would put noise in the line so he tightened everything up and the internet started working again. (Can't wait to see that bill.) Anyway, that evening we noticed that On Demand was no longer working (Error 14). Repeated attempts by the customer service people to restore the service over the phone were unsuccessful. We now have an appointment scheduled for another technician to come out and see what he/she can screw up. If things are not working after that visit we will be switching to another provider.
Are you getting error-14? If so you may want to check your inside cable for loose splitters, or loose connections. That error usually means the box cannot communicate with the head end. Since you reflect that this is intermittent, it could just be something is loose or not seated well.