Is it mandatory to provide expansion gaps in buildings?
Even it is mandatory, are there any special cases where expansion joints are not provided.
Will it depends on climatic condition of region?
Who is responsible to provide expansion gap? Architect or Structural engineer?

Designing a flat slab for temperature loading will require excess rebar quantities specially if the spans are more than 6m.
There are three options to provide expansion joint (E.J).
Option 1 : Providing double columns and separating the building.
Option 2: Providing ledge beam at one end of the EJ and releasing the slab coming
from the other end. Elastomeric Bearing pad shall be provided on the ledge beam nib to allow for the movement calculated as per the wind & seismic drift. Note: EJ thickness is not a magic number it depends on the drift it should be calculated as per ASCE7-10( if using US codes) building separation equation.
Option 3: Provide Shear connectors. Refer Ancon shear connector website for further details.
Before selecting any of the options above it should be discussed with the architect for Architectural feasibility of the location and type of EJ.
In terms of economy option 3 will be the most economical solutions and it will safe time of construction. Option 1 & 2 shall be coordinated with MEP to detect the duct clashes if any.