In the U.S., there are laws that protect both employees and employers. Ask for proof of overpayment, and time to respond. If you feel you have a case, consult a lawyer that specializes in wage disputes. Otherwise, let them have their money, out of your last check if necessary. You don't want to have to go to court if you really do owe them.
If you tell them a lawyer has accepted your case based on evidence, they may choose to settle out of court to avoid public embarrassment and legal fees, since, if you win, they also have to pay your court fees and legal fees, plus possible punitive damages.
Conversely, if you go to court, but you owe them, you'll be subject to pay back what you owe plus their legal fees, which will be far more than you intend to pay them, or even what you'd get if you won. Losing would cost you dearly.
Nobody can tell you what the outcome of your specific case will be, but unless the sum is significant, I would recommend that you accept the losses and walk away.
While I know this can be hard, as someone who also lives the middle class paycheck-to-paycheck life, you probably can't afford to lose, and your company has expensive lawyers.
Losing a few thousand dollars is easier than losing tens of thousands (or more) in a court battle. You can always seek assistance, such as unemployment, welfare, utility assistance, and other government programs to get back on your feet.
If you owe them more than you can actually repay, try to negotiate. You want to stay out of court if at all practical. Their lawyers run hundreds of dollars per hour, so if they choose to, they can bury you financially if they have a case.