The one with the winning strategy is quite surprisingly
X
and the strategy is
Start in the center. First, let us note that if X starts anywhere else, O wins on their first move like this
|X *| |*X |
| | |O* |
|* O| | |
First options
When X starts in the center, O has two options, corner, which gives X zero winning moves or middle, which gives X six winning moves
|O | |*O*|
| X | |*X*|
| | |* *|
Case 1
If O goes for the corner, X wins like this
|O | |OX | |OXX| |OXX|
| X | -> | X | -> | X | -> |*XX|
| | | O | |OO | |OO*|
Case 2
If O goes for the middle, X wins like this
| O | | OO| |XOO|
| X | -> | X | -> | X |
| | |X | |X |
Case 2 continued
As we can see, X has now two possible winning lines but it is O's turn. If O tries to block one of the winning lines, X has exactly one winning move. However, if O doesn't block either of the lines, then X will eventually win with any of the three remaining cells so X has three winning moves. Thus, either way, X will eventually win.