Flexbox is built for one dimension layouts (e.g. a header), while Grid is built for creating two-dimensional layouts (e.g. an entire page).
Use both and you'll get the best of two worlds.
The question is not Grid or Flexbox. You can (and will) use both.
CSS Grid can handle 2D layout requirements. 1D layout requirements in the 2D layout is managed by the flex-box, though the same can be easily be done with a nested CSS Grid.