If you attach the sketch, I can give you a better answer. Press the "Preview" button to get the complete post editor, the select Attachments and other options in the lower left.
I will guess that you are not using the NeoGPS library. It is the only library that can parse all the sentences that the newest GPS devices send. In your case, the older GPS library is expecting lat/lon in a GPRMC sentence, but the NEO-8M is sending the newer GNRMC or GLRMC sentence. These are called "talker IDs" (see this).
There are other reasons to try NeoGPS:
* It's smaller than all other GPS libraries, sometimes saving thousands of bytes of program space and hundreds of bytes of RAM.
* It's faster, sometimes twice as fast.
* It's more accurate, preserving all the precision provided by the GPS device. All other libraries use floating-point numbers, which can lose some significant digits. Their distance and bearing calculations are also less accurate.
* It's more reliable, because it always uses the NMEA error detection checksum, and can optionally use additional character and field validations. This allows NeoGPS to filter out bad data. All NeoGPS data fields have validity flags for your sketch to use.
* It can be configured to parse only the pieces you actually need, saving even more space and execution time.
* The numerous examples are structured correctly. Many questions here are the result of modifying other libraries' example programs. They are "fragile" WRT to modifications, because they weren't written with that goal in mind.
If you want to try it, NeoGPS is available from the Arduino IDE Library Manager, under the menu Sketch -> Include Library -> Manage Libraries.
It is good that you are using Serial (pins 0 & 1) for the GPS, but I would suggest NOT using SoftwareSerial. SoftwareSerial is very inefficient, because it disables interrupts for long periods of time. This can interfere with other libraries or prevent receiving data on Serial (this could be your problem). It cannot transmit and receive at the same time. You should seriously consider other alternatives. NeoSWSerial is a drop-in replacement for SoftwareSerial, and could use the same pins. AltSoftSerial is better, but it can only use two specific pins -- you would have to move some wires.
Cheers,
/dev