In our network, I captured a TCP packet by Wireshark that has no flag set.
What's that mean?
Is it normal?
A TCP flag is used in a packet to identify a connection state or provide further information to the receiving party, common examples include SYN, ACK, RST, FIN + more.
In your instance, you've come across a TCP packet without a proper flag set or a malformed flag set.
As for the cause, without knowing your environment I'd hesitate to comment. I'd start by capturing the source of the packet and investigating the machine/device for network anomalies.