Yes, a 0-0 game has occurred in NFL history. Surprisingly, the last 0-0 game occurred more than 76 years ago and 20 days before this answer (Nov 27, 2019). It was played between the Detroit Lions and the New York Giants on November 7, 1943. The game ended in a 0-0 tie.
The only time all four quarter have been completed without scoring is in college football when both teams use their third string players. The first such game took place on October 17, 1899 between Columbia University and Princeton. The game was called due to darkness with neither team having scored nor lost a single yard of field turf. The game ended in a 2-2 tie.
In another third-stringer game that same day, Harvard defeated Yale 3-0 using a trio of freshmen for its line. This was the first game played by any of the now-famous Crimson teams that would go on to win multiple national championships. In fact, none of the three freshman linemen ever played again!
Finally, in 1936, Duke and North Carolina played each other to a scoreless tie. This game came just one year after North Carolina had beaten Duke 6-3 in Durham and was considered by many to be the best college football game ever played.
As you can see, a 0-0 game is possible in sports. However, it's very unlikely to occur in actual play.
In the history of the NFL, 73 games have resulted in a tie. That hasn't occurred since the Giants and the Detroit Lions accomplished it in 1943. Similarly, five NFL games have ended with a score of 2-0. Again, that also happened in 1943 when the Giants beat the Redskins 2-0 and the Rams defeated the Chicago Bears 2-0.
The only time that has happened this century was on September 19, 2001 when American football's biggest stage, ESPN's Sunday Night Football, saw its first shutout victory when the New York Giants defeated the Philadelphia Eagles 0-14. The last time two teams scored no points in a game was in the 1943 college football season when Stanford and California both lost 0-6.
In addition, there have been eight occasions when one team has scored zero points while their opponent scored seven or more points.
The last 0-0 draw in the NFL (professional American football) occurred in 1943 between the Detroit Lions and the New York Giants. In NFL history, there have been 73 scoreless ties, but we have gone 77 years without one. On November 7th, 1943, the Lions defeated the Giants 1-0. This was the only game of its kind during that time period.
There have been zero points scored in several games throughout NFL history. Here are the most recent examples: 2017 Arizona Cardinals vs. Seattle Seahawks (regular season); 2016 Jacksonville Jaguars vs. Indianapolis Colts (regular season); 1995 Chicago Bears vs. Green Bay Packers (regular season); all 0-0.
As you can see, there has never been a 0-0 regular season tie in the NFL.
The last time these two teams met was December 30, 2016. The Eagles won that game 17-14 in Philadelphia. Both teams had first-half opportunities to go ahead in regulation, but neither could do so.
The last time these two teams played was November 26, 2003. That was a Monday Night Football game at Lincoln Financial Field in Philadelphia. The Eagles defeated the Rams 14-7. It took 10 minutes and 56 seconds for both teams to combine for a field goal. That was it! No touchdowns, no extra points, nothing but kicks from the 40-yard line.
In fact, there have only been five other games where both teams missed opportunities to win in regulation. Three of them happened before 1970. There were no tie games during the regular season between 1969 and 1987.
So basically, there have been too many bad things to happen on the field for this to happen again. Why would anyone want to play in a 0-0 tie? That's not how you win games in the NFL!
The answer is that it has never happened before.