Someone much smarter than me had this to offer to your question….
Free trade has, until recently, been a part of what has been known as the “Washington Consensus.” While the Washington Consensus itself refers to the position that development is fostered by pro-free trade positions, in general people ‘within the beltway’ were in favor of free trade, regardless of party.
That is not to say that NAFTA was uncontroversial. Most notably, Ross Perot—the Donald Trump of his era—ran primarily in opposition to NAFTA, and he drew support primarily from Republican voters. Likewise, both parties had anti-NAFTA elements.
A look at the roll call votes in the House and in the Senate show how divided the parties were. Republicans were generally more supportive both historically, at the time and currently of free trade, but the support was far from uniform. In the senate 48% of Democratic senators supported the bill, with the remainder opposed and one not voting, while 79% of Republican Senators supported the bill. On the House side, 39.5% of the Democratic members voted for NAFTA, while 75% of Republican members supported the implementation bill. The sole independent, Bernie Sanders, voted against.
Of note, the Senate did not have the votes to override the President, Bill Clinton, and so his support was crucial to passage. Furthermore, neither party had enough support internally to pass the bill without the other’s support. At the time the Democrats controlled both houses, too.
In the end, neither party owns NAFTA alone, which partly explains its resilience. The Democrats thoroughly controlled government, and NAFTA would neither have been negotiated nor passed without the leadership’s support. However, had the Republicans not been as enthusiastic in their support, the Democrats could not have overcome weakness in their coalition to pass the bill alone.