I believe the first player has a winning strategy for N=7.

In the configuration below (with "o" having the next move), "o" can force a win by making a "cross". Note that the "cross" can also be applied to two non-adjacent "o"s in the same row or column.

The first player plays in the center. The second player has 9 unique responses. I'll consider the 3 most interesting responses here.

Below, the first player places the second "o" next to the first, threatening to make a cross. So, the second player has 2 unique moves available. However, both moves allow the first player to force a few moves and achieve the "cross", as illustrated. (The two starting pieces for the "cross" are marked with a square around them.)

Another possible position for the initial "x". This is also a win for "o".

Another possible position for the initial "x". This is also a win for "o". (I omitted 2 branches to save space, but they follow the same pattern).

I didn't consider the other 6 initial moves for "x", but I think the same techniques can be used to solve them.

FWIW, I'm pretty sure N=5 is a draw. I haven't considered N=6, yet.