Have you tried different fabrics and thread along with a new needle?
If this doesn't work, the problem may be to do with timing ie. the shuttle (containing the bobbin) under the sewing plate may be connecting with the needle ( when it is at it's lowest point though the fabric) slightly too late. The shuttle is circular with a sharp point located on its perimeter ( the bobbin is in the centre), this spins back and forth picking up the top thread under the fabric each time the needle penetrates the fabric. When using a zigzag stitch, the needle moves over to the right, and as the shuttle approaches from left to right under the sewing plate ( turning clockwise), it means that it has a couple of millimetres further to travel before connecting with the thread brought down through the fabric by the needle. If the timing is slightly out, the shuttle point will arrive at the needle too late, just as the needle is going back up, this will result in a missed stitch. You might find that using a narrower stitch width may help, the needle will not be so far over to the right and so the shuttle point will still be able connect with the thread to make a stitch before the needle goes up again. Hope this is understandable! I pulled apart a singer sewing machine which had the same trouble as your machine has, eventually got it fixed, had to make an adjustment to the timing - hence am an expert on the subject!
Mr Fixit, April 2009