Robot deviating to the side in straight motion

Yes, checking for extra friction on one side, as others said, is first thing to do.

The second question is: do you have a second PID loop to keep it driving straight in software?

If you have well tuned 2-DOF PID controller, then you can disconnect one of two motors on one side and it will still keep the robots driving straight.

If friction on both sides is the same then accumulated Integral value for the second controller is going to be around zero.

But if you print it to LCD and see it walk away from zero - that will tell you that one side has more friction or some other issue.