lets say I would like to make connection between client and server on port 80. Is 3 way handshake aware of server MAC address? I mean: client send SYN data packet to specific IP:port and MAC. In response he receives SYN/ACK from same IP:port but diffrent MAC. Will this still work?
Is TCP aware of MAC adress
No, not at all. TCP, a transport-layer protocol, has no idea of the data-link protocol used. Some data-link protocols (the IEEE protocols) use MAC addressing, and some (frame relay, ATM, etc.) use other addressing (DLCI, VPI/VCI, etc.), and some use no addressing (PPP, etc.).
In fact, TCP can run on top of different network-layer protocols: IPv4, IPv6, and there is even an RFC for using it on top of IPX, although I have never seen it live. Even IPv4 and IPv6 really have no idea about the data-link protocol used, and the data-link protocols have no idea of the network protocols they carry, which in turn have no idea about the transport protocols they carry.
You should learn about the layered process of the network stack that uses encapsulation and abstraction so that protocols in the various layers do not need to know about what goes on in the layers above and below.